package net.siufung.core.result;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 结果成功枚举
 * @author 陈建峰
 * @since 2022/4/23 10:24 下午
 */
@Getter
@AllArgsConstructor
public enum ResultOk implements IResultType {

    /**
     * 数据请求成功
     */
    SUCCESS(ResultSuccessCode.DEFAULT_OK_CODE, "数据请求成功！"),
    /**
     * 数据获取成功
     */
    GET(ResultSuccessCode.DEFAULT_GET_CODE, "数据获取成功！"),
    /**
     * 数据添加成功
     */
    ADD(ResultSuccessCode.DEFAULT_ADD_CODE, "数据添加成功！"),
    /**
     * 数据更新成功
     */
    UPDATE(ResultSuccessCode.DEFAULT_UPDATE_CODE, "数据更新成功！"),
    /**
     * 数据删除成功
     */
    REMOVE(ResultSuccessCode.DEFAULT_REMOVE_CODE, "数据删除成功！"),
    /**
     * 数据状态修改成功
     */
    STATUS(ResultSuccessCode.DEFAULT_STATUS_CODE, "数据状态修改成功！"),
    /**
     * 数据导入成功
     */
    IMPORT(ResultSuccessCode.DEFAULT_IMPORT_CODE, "数据导入成功！"),
    /**
     * 数据导出成功
     */
    EXPORT(ResultSuccessCode.DEFAULT_EXPORT_CODE, "数据导出成功！"),
    /**
     * 文件下载成功
     */
    DOWNLOAD(ResultSuccessCode.DEFAULT_DOWNLOAD_CODE, "文件下载成功！"),
    /**
     * 文件上传成功
     */
    UPLOAD(ResultSuccessCode.DEFAULT_UPLOAD_CODE, "文件上传成功！"),
    /**
     * 审核完成
     */
    AUDIT(ResultSuccessCode.DEFAULT_AUDIT_CODE, "数据审核完成！");

    /**
     * 返回编码
     */
    final Integer code;
    /**
     * 返回消息
     */
    final String message;

    /**
     * 结果成功编码
     */
    static class ResultSuccessCode {

        /**
         * 默认成功编码
         */
        static final Integer DEFAULT_OK_CODE = 200;

        /**
         * 获取成功编码
         */
        static final Integer DEFAULT_GET_CODE = 201;

        /**
         * 添加成功编码
         */
        static final Integer DEFAULT_ADD_CODE = 202;

        /**
         * 更新成功编码
         */
        static final Integer DEFAULT_UPDATE_CODE = 203;

        /**
         * 删除成功编码
         */
        static final Integer DEFAULT_REMOVE_CODE = 204;

        /**
         * 状态成功编码
         */
        static final Integer DEFAULT_STATUS_CODE = 205;

        /**
         * 导入成功编码
         */
        static final Integer DEFAULT_IMPORT_CODE = 206;

        /**
         * 导出成功编码
         */
        static final Integer DEFAULT_EXPORT_CODE = 207;

        /**
         * 下载成功编码
         */
        static final Integer DEFAULT_DOWNLOAD_CODE = 208;

        /**
         * 上传成功编码
         */
        static final Integer DEFAULT_UPLOAD_CODE = 209;

        /**
         * 审核成功编码
         */
        static final Integer DEFAULT_AUDIT_CODE = 210;

    }
}
